﻿using System.ComponentModel;
using System.Collections.Generic;
using LiveTiss.Classes;

namespace LiveTiss.Schemas
{
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.ans.gov.br/padroes/tiss/schemas")]
    public partial class ct_identificacaoEquipeMembroEquipe : IDataErrorInfo
    {
        #region Public Properties - Custom

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public List<KeyValuePair<string, string>> posicaoProfissaoItems
        {
            get
            {
                return XML_enum.PosicaoProfissao;
            }
        }

        public ct_identificacaoEquipeMembroEquipe Current
        {
            get
            {
                return this;
            }
            set
            {
                this.codigoProfissional = value.codigoProfissional;
                this.cpf = value.cpf;
                this.identificacaoProfissional = value.identificacaoProfissional;
                this.posicaoProfissional = value.posicaoProfissional;
            }
        }

        #endregion

        #region IDataErrorInfo

        private string _error = null;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public string Error { get { return _error; } }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public string this[string propertyName]
        {
            get
            {
                _error = null;
                switch (propertyName)
                {
                    case "cpf":
                        if (string.IsNullOrEmpty(this.cpfField))
                        {
                            _error = "Campo Obrigatório";
                        }
                        else if (!IsOnlyNumbers(this.cpfField))
                        {
                            _error = "Somente numeros são permitidos";
                        }
                        break;
                }
                return _error;
            }
        }

        private bool IsOnlyNumbers(string s)
        {
            foreach (var item in s)
            {
                if (!char.IsNumber(item))
                    return false;
            }
            return true;
        }

        #endregion
    }
}
